package model;

import java.util.Map;

/**
 * Handles the AI player's decisions.
 * 
 * @author Adam
 * 
 */
class AI extends Player
{
    private int state;
    
    public AI( GameMap map, Location startLoc, Map< ResourceType, Integer > startResources ) {
        super( map, startLoc, startResources );
        state = 0;
    }
    
    // calculates decisions to execute for the next n turns
    public void makeDecision( int n )
    {
        if ( state == 0 )
        {
            
            state++;
        }
        else if ( state == 1 )
        {
            
            state++;
        }
        else if ( state == 2 )
        {
            
            state++;
        }
        else
        {
            
            state = 0;
        }
    }
    
    @Override
    protected void addNewBaseExtras( Base b )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void addNewColonistExtras( Colonist c )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void addNewExplorerExtras( Explorer e )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void addNewMeleeExtras( Melee m )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void addNewRangedExtras( Ranged r )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void addNewTowerExtras( Tower t )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void createRallyPointExtras( RallyPoint rp )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    @Override
    protected void decommRallyPointExtras( RallyPoint rp )
    {
        // TODO Auto-generated method stub
        // throw new OperationNotSupportedException("I do what I want");
    }
    
    protected void disbandExtras( RallyPoint rp )
    {
        // omg do nothing!
    }
    
    protected void decommColonistExtras( Colonist c )
    {
        // NOTHING!
    }
    
    protected void decommExplorerExtras( Explorer e )
    {
        // NOTHING!
    }
    
    protected void decommMeleeExtras( Melee m )
    {
        // NOTHING!
    }
    
    protected void decommRangedExtras( Ranged r )
    {
        // NOTHING!
    }
    
    protected void decommBaseExtras( Base b )
    {
        // NOTHING!
    }
    
    protected void decommTowerExtras( Tower t )
    {
        // NOTHING!
    }
    
    protected void colonistLeaveArmy( Colonist c, RallyPoint rp )
    {
        
    }
    
    protected void explorerLeaveArmy( Explorer e, RallyPoint rp )
    {
        
    }
    
    protected void meleeLeaveArmy( Melee m, RallyPoint rp )
    {
        
    }
    
    protected void rangedLeaveArmy( Ranged r, RallyPoint rp )
    {
        
    }
}
